package com.hqyj.dao;

import com.hqyj.pojo.User;
import com.hqyj.pojo.UserAndRole;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author YangGuo
 * @version 1.0
 * @date 2021/8/12 9:54
 */
public interface UserDao {
    /**
     * 插入一个User
     * @param user
     * @return
     */
    public int insertUser(User user);
    /**
     * @author chen3
     * @date 2021-08-12 10:08
     * @params username 用户名
     * @return User 用户对象
     * @description 通过用户名查找对象
     */
    User queryByUsername(String username);

    /**
     * 通过电话查用户
     * @param phone
     * @return
     */
    User queryByPhone(String phone);

    /**
     * 通过邮箱查用户
     * @param email
     * @return
     */
    User queryByEmail(String email);

    /**
     * 更新用户信息
     * @param user
     * @return
     */
    int updateUserByUsername(User user);

    int updateRoleByUsername(@Param("username") String username,@Param("roleId") Integer roleId);

    List<UserAndRole> selectAll();
}
